<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>oop5(原型-简单原型)</title>
</head>
<body>
<script type="text/javascript">
	
	//简单原型
	/*
	function People () {}

	People.prototype = {
		//constructor： People, 
		name: 'z3',
		age: 23,
		getName: function () {
			alert("我是一个方法");
		}
	}

	// ECMA5 Object.defineProperty:重新设置原型构造器
	//第一个参数:目标对象   第二个参数:需要定义的属性或方法的名字   第三个参数:目标属性所拥有的特性
	Object.defineProperty(People.prototype, 'constructor', {
		enumerable: false, //设置能否被枚举
		value: People
	})

	var p1 = new People();
	alert(p1.name);
	alert(p1.constructor);

	for(keys in p1){
		alert(keys);
	}
	*/

	//原型的动态性

	/*
	function People () {}

	var p2 = new People();

	People.prototype.getName = function () {alert("我是一个方法");}

	p2.getName();
	*/

	function People () {}

	People.prototype = {
		//constructor： People, 
		name: 'z3',
		age: 23,
		getName: function () {
			alert("我是一个方法");
		}
	}

	//使用简单原型，创建实例对象必须在原型对象后

	var p3 = new People();

	p3.getName();

</script>
</body>
</html>